<?php
/*
 * 
 */

interface Interface_File{
	public function size($units = 'bytes');
	public function exists();
	
	///public function assureExists($options); // <=> if( !exists() ) create($options)
	
	public function isWriteable();
	public function isReadable();
	public function isExecutable();
	
	public function owner( $asId = true );
	
	public function read( $line = null );
	public function write( $value , $append = false );
	public function lines( $first = null );
	
	public function name();
	public function rename($new_name);
	public function parentDirectory( $asDirectoryObject = true , $options = array() );
	public function absolutePath();
	public function relativePath($to);
	
	public function truncate($new_size);
	
	public function delete();
	public function create($options);
	
	public function open($options); /// returns IO_File_ReadStream / IO_File_WriteStream 
}